package com.virtualperson.service;

import com.virtualperson.dto.StyleGenerationRequest;
import com.virtualperson.dto.StyleGenerationResponse;

public interface StyleGenerationService {
    /**
     * 生成风格化人像
     * @param request 风格化生成请求
     * @return 风格化生成响应
     */
    StyleGenerationResponse generateStyleImage(StyleGenerationRequest request);
    
    /**
     * 获取任务状态
     * @param taskId 任务ID
     * @return 任务状态响应
     */
    StyleGenerationResponse getTaskStatus(String taskId);

    /**
     * 等待任务完成
     * @param taskId 任务ID
     * @param maxAttempts 最大尝试次数
     * @param intervalSeconds 轮询间隔（秒）
     * @return 任务完成后的响应
     */
    StyleGenerationResponse waitForTaskCompletion(String taskId, int maxAttempts, int intervalSeconds);

    /**
     * 等待任务完成（使用默认参数）
     * @param taskId 任务ID
     * @return 任务完成后的响应
     */
    StyleGenerationResponse waitForTaskCompletion(String taskId);
} 